'use strict';
const db = uniCloud.database();

exports.main = async (event, context) => {
	// 获取数据库表
	const collection = db.collection('pjxx');

	try {
		// 获取数据
		const result = await collection.get();
		const list = result.data; // 数据存储在 `data` 属性中
		// 使用 reduce 方法进行分组和求和
		return Object.entries(
			list.reduce((acc, item) => {
				const pt = item.pt;
				if (!acc[pt]) {
					acc[pt] = 0;
				}
				acc[pt] += parseFloat(item.je);
				return acc;
			}, {})
		).map(([pt, sum]) => ({
			name: pt,
			value: sum,
			// labelText: pt + ':' + sum,
			labelText:  sum,
		}));

	} catch (error) {
		console.error('Error fetching data:', error);
		return {
			error: 'Failed to fetch data',
			msg: error.message
		};
	}
};